//
// Created by 74176 on 2022/2/17.
//

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

struct dt{
    float F;
    float J;
    float rate;
};

dt assist[1000];

bool cmp(dt a,dt b){
    return a.rate>b.rate;
}
int main(){
    float M;
    int N;
    while(cin>>M>>N){
        if(M==-1)
            break;
        for(int i=0;i<N;i++){
            cin>>assist[i].J>>assist[i].F;
            assist[i].rate=assist[i].J/assist[i].F;
        }
        sort(assist,assist+N,cmp);
        float answer=0;
        for(int i=0;i<N && M!=0;i++){
            if(M>=assist[i].F){
                answer+=assist->J;
                M-=assist[i].F;
            }else{
                float temp=M/assist[i].F;
                answer+=temp*assist[i].J;
            }
        }
        cout<<answer<<endl;
    }
    return 0;
}